#pragma once

namespace ZeEngine
{
	class SDLTexture;
	class IRenderableComponent;

	class SDLRenderable
	{
		friend class SDLRenderer;

	public:
		virtual ~SDLRenderable();
        void Render(SDL_Renderer& renderer);

	private:
		SDLRenderable(IRenderableComponent* pComponent, const Vector2D<f32>& position, f32 interpolation, f32 rotation = 0, u32 viewportID = 0);

	public:
		Vector2D<f32>		  m_position;
		f32					  m_rotation;
		f32					  m_interpolation;
		u32				      m_viewPortID;
		IRenderableComponent* m_pComponent;
	};
}

